package dao;

import idao.IPessoaDAO;

import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;

import entity.Pessoa;


public class PessoaDAO implements IPessoaDAO {

	private Session session;
	
	@SuppressWarnings("rawtypes")
	public boolean buscar(Pessoa pessoa) {
		
		session = ConexaoBanco.getInstance();		
		Query query = session.createQuery("from Pessoa where loginPessoa = :loginpessoa and senha = :senhapessoa");
		query.setParameter("loginpessoa", pessoa.getLoginPessoa());
		query.setParameter("senhapessoa", pessoa.getSenha());
		List list = query.list();
		if(list.size() != 0){
			return true;
		} else{
			return false;
		}		
	}
	
	public Pessoa retornaPessoa(String loginPessoa) {
		
		session = ConexaoBanco.getInstance();
		Query query = session.createQuery("from Pessoa where loginPessoa = :loginPessoa");
		query.setParameter("loginPessoa", loginPessoa);
		
		Pessoa pessoa = new Pessoa();
		
		for (int i = 0; i < query.list().size(); i++) {
			pessoa = (Pessoa)query.list().get(i);
		}
		
		return pessoa;
	}
	
	public void cadastra(Pessoa pessoa) {
		
		session = ConexaoBanco.getInstance();
		
		Transaction tx = session.beginTransaction();
		session.save(pessoa);
		tx.commit();
		session.close();
	}
}
